package com.fowo.api.model.supplier.msg;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 供应商通知 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class SupplierMsgImportPo {

  /** 表单id */
  @ExcelProperty("表单id")
  @LongString(message = "表单id数值格式不正确", label = "表单id", min = 0L)
  private String formId;

  /** 消息标题 */
  @ExcelProperty("*消息标题")
  @NotBlank(message = "消息标题不能为空")
  @Size(max = 1024, message = "消息标题长度不能超过1024")
  private String title;

  /** 消息内容 */
  @ExcelProperty("*消息内容")
  @NotBlank(message = "消息内容不能为空")
  @Size(max = 50, message = "消息内容长度不能超过50")
  private String content;

  /** 接收人员 */
  @ExcelProperty("接收人员")
  @Size(max = 50, message = "接收人员长度不能超过50")
  private String toUserName;

  @ExcelIgnore
  @Schema(title = "接收人员")
  private String toUser;

  /** 接收角色 */
  @ExcelProperty("接收角色")
  @Size(max = 50, message = "接收角色长度不能超过50")
  private String toRoleRoleName;

  @ExcelIgnore
  @Schema(title = "接收角色")
  private String toRole;

  /** 失效时间 */
  @ExcelProperty("失效时间")
  @DateTimeString(message = "失效时间不是有效的时间日期格式")
  private String endTime;

  /** 提醒方式 */
  @ExcelProperty("*提醒方式")
  @NotBlank(message = "提醒方式不能为空")
  private String remindType;

  /** 状态 */
  @ExcelProperty("*状态")
  @NotBlank(message = "状态不能为空")
  private String status;

  /** 备注 */
  @ExcelProperty("备注")
  @Size(max = 50, message = "备注长度不能超过50")
  private String remark;

  /** 流程编码 */
  @ExcelProperty("流程编码")
  private String enCode;
}
